home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr47 / wasm223.zip / WASM.REF < prev    next >
Text File  |  1993-05-04  |  26KB  |  653 lines

  1.  
  2.  
  3.                     Wolfware Assembler Instruction Reference
  4.  
  5.        The following is a summary of all legal WASM directives and
  6.        instructions.  The first table lists the instructions by category.
  7.        The second table lists the instructions alphabetically and shows
  8.        their syntax.
  9.  
  10.                              Instruction Categories
  11.  
  12.        Directives
  13.        ----------
  14.  
  15.        DB              EXPAND+         LABEL           PAGE-
  16.        DS              EXPAND-         LINESIZE        PAGESIZE
  17.        DW              ERRORMAX        LIST+           PROC
  18.        ELSE            FLAGALL+        LIST-           RESETC
  19.        ELSEIF          FLAGALL-        MACRO           SUBTITLE
  20.        ENDIF           IF              MACROC          SYMDUMP+
  21.        ENDM            IFN             NEXTIF          SYMDUMP-
  22.        ENDP            INCLUDE         ORG             TITLE
  23.        EQU             JUMP+           PAGE            UNUSED+
  24.        ERROR           JUMP-           PAGE+           UNUSED-
  25.  
  26.        Data Transfer
  27.        -------------
  28.  
  29.        IN              LEA             OUTSW           PUSHA
  30.        INSB            LES             POP             PUSHF
  31.        INSW            MOV             POPA            SAHF
  32.        LAHF            OUT             POPF            XCHG
  33.        LDS             OUTSB           PUSH            XLAT
  34.  
  35.        Arithmetic
  36.        ----------
  37.  
  38.        AAA             ADD             DEC             MUL
  39.        AAD             CBW             DIV             NEG
  40.        AAM             CWD             IDIV            SBB
  41.        AAS             DAA             IMUL            SUB
  42.        ADC             DAS             INC
  43.  
  44.        Logic
  45.        -----
  46.  
  47.        AND             RCL             ROR             SHL
  48.        NOT             RCR             SAL             SHR
  49.        OR              ROL             SAR             XOR
  50.  
  51.        Flag Setting
  52.        ------------
  53.  
  54.        CLC             CLTS            STC             TEST
  55.        CLD             CMC             STD
  56.        CLI             CMP             STI
  57.  
  58.  
  59.        Control Transfer
  60.        ----------------
  61.  
  62.        BOUND           JE              JNG             JZ
  63.        CALL            JG              JNGE            LEAVE
  64.        ENTER           JGE             JNL             LOOP
  65.        INT             JL              JNLE            LOOPE
  66.        INT3            JLE             JNO             LOOPNE
  67.        INTO            JMP             JNP             LOOPNZ
  68.        IRET            JMPS            JNS             LOOPZ
  69.        JA              JNA             JNZ             RET
  70.        JAE             JNAE            JO              RETF
  71.        JB              JNB             JP              RETN
  72.        JBE             JNBE            JPE
  73.        JC              JNC             JPO
  74.        JCXZ            JNE             JS
  75.  
  76.        String Manipulation
  77.        -------------------
  78.  
  79.        CMPSB           LODSW           REP             SCASB
  80.        CMPSW           MOVSB           REPE            SCASW
  81.        INSB            MOVSW           REPNE           STOSB
  82.        INSW            OUTSB           REPNZ           STOSW
  83.        LODSB           OUTSW           REPZ
  84.  
  85.        Processor Control
  86.        -----------------
  87.  
  88.        ARPL            LGDT            LTR             SMSW
  89.        CS:             LIDT            NOP             SS:
  90.        DS:             LLDT            SEG             STR
  91.        ES:             LMSW            SGDT            VERR
  92.        HLT             LOCK            SIDT            VERW
  93.        LAR             LSL             SLDT            WAIT
  94.  
  95.        8087 Data Transfer
  96.        ------------------
  97.  
  98.        FLD             FST             FISTP
  99.        FILD            FIST            FBSTP
  100.        FBLD            FSTP            FXCH
  101.  
  102.        8087 Arithmetic
  103.        ---------------
  104.  
  105.        FADD            FDIVP           FPREM           FSUBR
  106.        FIADD           FDIVR           FRNDINT         FISUBR
  107.        FADDP           FIDIVR          FSCALE          FSUBRP
  108.        FABS            FDIVRP          FSQRT           FXTRACT
  109.        FCHS            FMUL            FSUB
  110.        FDIV            FIMUL           FISUB
  111.        FIDIV           FMULP           FSUBP
  112.  
  113.  
  114.        8087 Transcendental
  115.        -------------------
  116.  
  117.        F2XM1           FPTAN           FYL2XP1
  118.        FPATAN          FYL2X
  119.  
  120.        8087 Constants
  121.        --------------
  122.  
  123.        FLD1            FLDL2T          FLDLN2          FLDZ
  124.        FLDL2E          FLDLG2          FLDPI
  125.  
  126.        8087 Flag Setting
  127.        -----------------
  128.  
  129.        FCOM            FCOMP           FCOMPP          FXAM
  130.        FICOM           FICOMP          FTST
  131.  
  132.        8087 Processor Control
  133.        ----------------------
  134.  
  135.        FCLEX           FINIT           FNINIT          FNSTSW
  136.        FDECSTP         FLDCW           FNOP            FSAVE
  137.        FDISI           FLDENV          FNSAVE          FSTCW
  138.        FENI            FNCLEX          FNSTCW          FSTENV
  139.        FFREE           FNDISI          FNSTENV         FSTSW
  140.        FINCSTP         FNENI           FRSTOR          FWAIT
  141.  
  142.  
  143.                                Instruction Syntax
  144.  
  145.        Syntax Operand Types:
  146.  
  147.          reg   register
  148.          seg   segment register
  149.          mem   memory reference
  150.          imed  immediate data
  151.          str   string
  152.          stk   8087 stack
  153.  
  154.        Numbers following the type specify the size of operand in bits.
  155.        Operands separated by slashes mean that either one may be used.
  156.        Operands in capital letters are the literal operands accepted.
  157.        Operands in brackets are optional, all others are required.
  158.        Default (often abbreviated "def") indicates a default setting.
  159.        Instructions followed by a 186 will work only on a 80186
  160.        processor.  Instructions followed by a 286 will work only on a
  161.        80286 processor.
  162.  
  163.        AAA                             CALL n
  164.          ASCII adjust for add          CALL imed, imed
  165.                                        CALL reg16/mem16
  166.        AAD                             CALL mem32
  167.          ASCII adjust for divide         Call
  168.  
  169.        AAM                             CBW
  170.          ASCII adjust for multiply       Convert byte to word
  171.  
  172.        AAS                             CLC
  173.          ASCII adjust for subtract       Clear carry
  174.  
  175.        ADC reg/mem, imed               CLD
  176.        ADC reg/mem, reg                  Clear direction
  177.        ADC reg, reg/mem
  178.          Add with carry                CLI
  179.                                          Clear interrupt
  180.        ADD reg/mem, imed
  181.        ADD reg/mem, reg                CLTS
  182.        ADD reg, reg/mem                  Clear task switchd flag, 286
  183.          Add
  184.                                        CMC
  185.        AND reg/mem, imed                 Clear complement carry
  186.        AND reg/mem, reg
  187.        AND reg, reg/mem                CMP reg/mem, imed
  188.          Logical and                   CMP reg/mem, reg
  189.                                        CMP reg, reg/mem
  190.        ARPL mem16/reg16, reg             Compare
  191.          Adjust req priv level, 286
  192.                                        CMPSB
  193.        BOUND reg16, mem32                Compare string byte
  194.          Check array bounds, 186/286
  195.  
  196.  
  197.        CMPSW                           ERRORMAX imed
  198.          Compare string word             Max errors, default 65535
  199.  
  200.        CS:                             ES:
  201.          Code segment override           Extra segment override
  202.  
  203.        CWD                             EXPAND+
  204.          Convert word to double word     Enable macro listing, def
  205.  
  206.        DAA                             EXPAND-
  207.          Decimal adjust for add          Disable macro listing
  208.  
  209.        DAS                             F2XM1
  210.          Decimal adjust for subtract     [2^ST]-1
  211.  
  212.        DB imed/str [,imed/str]...      FABS
  213.          Declare bytes                   Absolute value of ST
  214.  
  215.        DEC reg/mem                     FADD
  216.          Decrement                     FADD stk, ST
  217.                                        FADD [ST,] stk
  218.        DIV [acum,] reg/mem             FADD [ST,] mem32/mem64
  219.          Unsigned divide                 Add real to ST
  220.  
  221.        DS imed [,imed8]                FADDP
  222.          Declare storage               FADDP stk [,ST]
  223.                                          Add ST to real and pop
  224.        DS:
  225.          Data segment override         FBLD [ST,] mem80
  226.                                          Load BCD to ST
  227.        DW imed [,imed]...
  228.          Declare words                 FBSTP mem80 [,ST]
  229.                                          Store ST to BCD and pop
  230.        ELSE imed
  231.          Conditional "else"            FCHS
  232.                                          Change sign of ST
  233.        ELSEIF imed
  234.          Conditional "else-if"         FCLEX
  235.                                          Clear exceptions
  236.        ENDIF
  237.          End conditional statements    FCOM
  238.                                        FCOM [ST,] stk
  239.        ENDM                            FCOM [ST,] mem32/mem64
  240.          End of macro declaration        Compare real to ST
  241.  
  242.        ENDP                            FCOMP
  243.          End of procedure              FCOMP [ST,] stk
  244.                                        FCOMP [ST,] mem32/mem64
  245.        ENTER                             Compare real to ST and pop
  246.          Make stack frame, 186/286
  247.                                        FCOMPP
  248.        symbol EQU imed                   Comp ST(1) & ST, pop twice
  249.          Equate symbol to value
  250.                                        FDECSTP
  251.        ERROR str                         Decrement stack pointer
  252.          Programmer defined error
  253.  
  254.  
  255.        FDISI                           FIST mem32/mem64 [,ST]
  256.          Disable interrupts              Store ST to integer
  257.  
  258.        FDIV                            FISTP mem16/mem32/mem64 [,ST]
  259.        FDIV stk, ST                      Store ST to integer and pop
  260.        FDIV [ST,] stk
  261.        FDIV [ST,] mem32/mem64          FISUB [ST,] mem16/mem32
  262.          Divide ST by real               Subtract integer from ST
  263.  
  264.        FDIVP                           FISUBR [ST,] mem16/mem32
  265.        FDIVP stk [,ST]                   Subtract ST from integer
  266.          Divide ST by real and pop
  267.                                        FLAGALL+
  268.        FDIVR                             Flag all undefined symbols
  269.        FDIVR stk, ST
  270.        FDIVR [ST,] stk                 FLAGALL-
  271.        FDIVR [ST,] mem32/mem64           Flag undef sym once, default
  272.          Divide real by ST
  273.                                        FLD
  274.        FDIVRP                          FLD [ST,] stk
  275.        FDIVRP stk [,ST]                FLD [ST,] mem32/mem64/mem80
  276.          Divide real by ST and pop       Load to real to ST
  277.  
  278.        FENI                            FLD1
  279.          Enable interrupts               Load 1.0 into ST
  280.  
  281.        FFREE                           FLDCW mem16
  282.        FFREE stk                         Load control word
  283.          Free stack entry
  284.                                        FLDENV mem
  285.        FIADD [ST,] mem16/mem32           Load environment
  286.          Add integer to ST
  287.                                        FLDL2E
  288.        FICOM [ST,] mem16/mem32           Load log base 2 of e to ST
  289.          Compare integer to ST
  290.                                        FLDL2T
  291.        FICOMP [ST,] mem16/mem32          Load log base 2 of 10 to ST
  292.          Comp integer to ST and pop
  293.                                        FLDLG2
  294.        FIDIV [ST,] mem16/mem32           Load log base 10 of 2 to ST
  295.          Divide ST by integer
  296.                                        FLDLN2
  297.        FIDIVR [ST,] mem16/mem32          Load log base e of 2 to ST
  298.          Divide integer by ST
  299.                                        FLDPI
  300.        FILD [ST,] mem16/mem32/mem64      Load pi into ST
  301.          Load integer to ST
  302.                                        FLDZ
  303.        FIMUL [ST,] mem16/mem32           Load 0 into ST
  304.          Multiply integer with ST
  305.                                        FMUL
  306.        FINCSTP                         FMUL stk, ST
  307.          Increment stack pointer       FMUL [ST,] stk
  308.                                        FMUL [ST,] mem32/mem64
  309.        FINIT                             Multiply real with ST
  310.          Initialize 8087
  311.  
  312.  
  313.        FMULP                           FST
  314.        FMULP stk [,ST]                 FST stk [,ST] G
  315.          Multiply real and ST, pop     FST mem32/mem64 [,ST]
  316.                                          Store ST to real
  317.        FNCLEX
  318.          Clear exceptions, no wait     FSTCW mem16
  319.                                          Store control word
  320.        FNDISI
  321.          Disable interrupts, no wait   FSTENV mem
  322.                                          Store environment
  323.        FNENI
  324.          Enable interrupts, no wait    FSTP
  325.                                        FSTP stk [,ST]
  326.        FNINIT                          FSTP mem32/mem64/mem80 [,ST]
  327.          Initialize 8087, no wait        Store ST to real and pop
  328.  
  329.        FNOP                            FSTSW mem16
  330.          No operation                    Store status word
  331.  
  332.        FNSAVE mem                      FSUB
  333.          Save state, no wait           FSUB stk, ST
  334.                                        FSUB [ST,] stk
  335.        FNSTCW mem16                    FSUB [ST,] mem32/mem64
  336.          Store control word, no wait     Subtract real from ST
  337.  
  338.        FNSTENV mem                     FSUBP
  339.          Store environment, no wait    FSUBP stk [,ST]
  340.                                          Subtract real from ST, pop
  341.        FNSTSW mem16
  342.          Store status word, no wait    FSUBR
  343.                                        FSUBR stk, ST
  344.        FPATAN                          FSUBR [ST,] stk
  345.          Partial arctan of ST / ST(1)  FSUBR [ST,] mem32/mem64
  346.                                          Subtract ST from real
  347.        FPREM
  348.          Partial rem of ST / ST(1)     FSUBRP
  349.                                        FSUBRP stk [,ST]
  350.        FPTAN                             Subtract ST from real, pop
  351.          Partial tangent of ST
  352.                                        FTST
  353.        FRNDINT                           Test ST
  354.          Round ST to integer
  355.                                        FWAIT
  356.        FRSTOR mem                        Wait
  357.          Restore state
  358.                                        FXAM
  359.        FSAVE mem                         Examine ST
  360.          Save state
  361.                                        FXCH
  362.        FSCALE                          FXCH stk [,ST]
  363.          Scale ST by ST(1)               Exchange
  364.  
  365.        FSQRT                           FXTRACT
  366.          Square root of ST               Extract components of ST
  367.  
  368.  
  369.        FYL2X                           JAE n
  370.          ST(1)*[LOG2[ST]]                Jump if above or equal
  371.  
  372.        FYL2XP1                         JB n
  373.          ST(1)*[LOG2[ST+1]]              Jump if below
  374.  
  375.        HLT                             JBE n
  376.          Halt                            Jump if below or equal
  377.  
  378.        IDIV [acum,] reg/mem            JC n
  379.          Signed divide                   Jump if carry
  380.  
  381.        IF imed                         JCXZ n
  382.          Conditional "if"                Jump if CX equal to zero
  383.  
  384.        IFN imed                        JE n
  385.          Conditional "if not"            Jump if equal
  386.  
  387.        IMUL [acum,] reg/mem            JG n
  388.          Signed multiply                 Jump if greater
  389.  
  390.        IMUL reg16, imed                JGE n
  391.        IMUL reg16, reg16, imed           Jump if greater or equal
  392.          Signed multiply, 186/286
  393.                                        JL n
  394.        IN acum, imed8                    Jump if less
  395.        IN acum, DX
  396.          Input from port               JLE n
  397.                                          Jump if less or equal
  398.        INC reg/mem
  399.          Increment                     JMP n
  400.                                        JMP imed, imed
  401.        INCLUDE str                     JMP reg16/mem16
  402.          Include source file           JMP mem32
  403.                                          Unconditional jump
  404.        INSB
  405.          Input string byte, 186/286    JMPS n
  406.                                          Unconditional short jump
  407.        INSW
  408.          Input string word, 186/286    JNA n
  409.                                          Jump if not above
  410.        INT imed8
  411.          Interrupt                     JNAE n
  412.                                          Jump if not above or equal
  413.        INT3
  414.          Type 3 interrupt              JNB n
  415.                                          Jump if not below
  416.        INTO
  417.          Interrupt on overflow         JNBE n
  418.                                          Jump if not below or equal
  419.        IRET
  420.          Interrupt return              JNC n
  421.                                          Jump if no carry
  422.        JA n
  423.          Jump if above                 JNE n
  424.                                          Jump if not equal
  425.  
  426.        JNG n                           LAR reg16, reg16/mem16
  427.          Jump if not greater             Load access rights, 286
  428.  
  429.        JNGE n                          LDS reg16, mem
  430.          Jump if not greater or equal    Load DS and register
  431.  
  432.        JNL n                           LEA reg16, mem
  433.          Jump if not less                Load effective address
  434.  
  435.        JNLE n                          LEAVE
  436.          Jump if not less or equal       Reverse an ENTER, 186/286
  437.  
  438.        JNO n                           LES reg16, mem
  439.          Jump if not overflow            Load ES and register
  440.  
  441.        JNP n                           LGDT mem64
  442.          Jump if not parity              Load global descrip tab, 286
  443.  
  444.        JNS n                           LIDT mem64
  445.          Jump if not sign                Load int descrip tab, 286
  446.  
  447.        JNZ n                           LINESIZE [imed] [,imed8] ...
  448.          Jump if not zero                Set page width, default 79
  449.  
  450.        JO n                            LIST+
  451.          Jump if overflow                Generate listing, default
  452.  
  453.        JP n                            LIST-
  454.          Jump if parity                  List output off
  455.  
  456.        JPE n                           LLDT reg16/mem16
  457.          Jump if parity even             Load local descrip tab, 286
  458.  
  459.        JPO n                           LMSW reg16/mem16
  460.          Jump if parity odd              Load machine stat word, 286
  461.  
  462.        JS n                            LOCK
  463.          Jump if sign                    Bus lock prefix
  464.  
  465.        JUMP+                           LODSB
  466.          Flag short-long JMPs            Load string byte
  467.  
  468.        JUMP-                           LODSW
  469.          Accept short-long JMPs, def     Load string word
  470.  
  471.        JZ n                            LOOP n
  472.          Jump if zero                    Loop CX times
  473.  
  474.        symbol LABEL NEAR/FAR           LOOPE n
  475.        symbol LABEL BYTE/WORD/DWORD      Loop while equal
  476.        symbol LABEL DWORD/QWORD
  477.        symbol LABEL TBYTE/ANYSIZE      LOOPNE n
  478.          Define label                    Loop while not equal
  479.  
  480.        LAHF                            LOOPNZ n
  481.          Load AH with flags              Loop while not zero
  482.  
  483.  
  484.        LOOPZ n                         OUTSW
  485.          Loop while zero                 Output string word, 186/286
  486.  
  487.        LSL reg16, reg16/mem16          PAGE [imed/str]
  488.          Load segment limit, 286       PAGE imed [,str]
  489.                                          Start new page
  490.        LTR reg16/mem16
  491.          Load task register, 286       PAGE+ [imed/str]
  492.                                        PAGE+ imed [,str]
  493.        symbol MACRO [symbol] ...         Start auto paging
  494.          Start macro declaration
  495.                                        PAGE-
  496.        symbol MACROC [symbol] ...        Stop auto paging, default
  497.          Start conditional macro
  498.                                        PAGESIZE imed [,imed]
  499.        MOV reg/mem, imed                 Page len & wid, def 60 & 79
  500.        MOV reg/mem, reg/seg
  501.        MOV reg/seg, reg/mem            POP reg/seg/mem
  502.          Move                            Pop register or memory
  503.  
  504.        MOVSB                           POPA
  505.          Move string byte                Pop all registers, 186/286
  506.  
  507.        MOVSW                           POPF
  508.          Move string word                Pop flags
  509.  
  510.        MUL [acum,] reg/mem             PROC NEAR/FAR
  511.          Unsigned multiply               Beginning of procedure
  512.  
  513.        NEG reg/mem                     PUSH reg/seg/mem
  514.          Decrement                       Push register or memory
  515.  
  516.        NEXTIF imed                     PUSH imed
  517.          Conditional "if", same level    Push immediate data, 186/286
  518.  
  519.        NOP                             PUSHA
  520.          No operation                    Push all registers, 186/286
  521.  
  522.        NOT reg/mem                     PUSHF
  523.          Logical not                     Push flags
  524.  
  525.        OR reg/mem, imed                RCL reg/mem
  526.        OR reg/mem, reg                 RCL reg/mem, CL
  527.        OR reg, reg/mem                   Rotate through carry left
  528.          Logical or
  529.                                        RCL reg/mem, imed8
  530.        ORG imed                          Roll carry left, 186/286
  531.          Origin, default 100H
  532.                                        RCR reg/mem
  533.        OUT imed8, acum                 RCR reg/mem, CL
  534.        OUT DX, acum                      Rotate through carry right
  535.          Output to a port
  536.                                        RCR reg/mem, imed8
  537.        OUTSB                             Roll carry right, 186/286
  538.          Output string byte, 186/286
  539.  
  540.  
  541.        REP                             SAR reg/mem, imed8
  542.          Repeat CX times                 Shift arith right, 186/286
  543.  
  544.        REPE                            SBB reg/mem, imed
  545.          Repeat while equal            SBB reg/mem, reg
  546.                                        SBB reg, reg/mem
  547.        REPNE                              Subtract with borrow
  548.          Repeat while not equal
  549.                                        SCASB
  550.        REPNZ                             Scan string byte
  551.          Repeat while not zero
  552.                                        SCASW
  553.        REPZ                              Scan string word
  554.          Repeat while zero
  555.                                        SEG seg
  556.        RESETC [imed] [,imed]             Segment override prefix
  557.          Reset counter & checksum
  558.                                        SGDT mem64
  559.        RET                               Store global dscrpt tab, 286
  560.        RET imed
  561.          Procedural return             SHL reg/mem
  562.                                        SHL reg/mem, CL
  563.        RETF                              Shift logical left
  564.        RETF imed
  565.          Far return                    SHL reg/mem, imed8
  566.                                          Shift left, 186/286
  567.        RETN
  568.        RETN imed                       SHR reg/mem
  569.          Near return                   SHR reg/mem, CL
  570.                                          Shift logical right
  571.        ROL reg/mem
  572.        ROL reg/mem, CL                 SHR reg/mem, imed8
  573.          Rotate left                     Shift right, 186/286
  574.  
  575.        ROL reg/mem, imed8              SIDT mem64
  576.          Roll left, 186/286              Store intr dscrpt tab, 286
  577.  
  578.        ROR reg/mem                     SLDT reg16/mem16
  579.        ROR reg/mem, CL                   Store local dscrpt tab, 286
  580.          Rotate right
  581.                                        SMSW reg16/mem16
  582.        ROR reg/mem, imed8                Store machine stat word, 286
  583.          Roll right, 186/286
  584.                                        SS:
  585.        SAHF                              Stack segment override
  586.          Store AH to flags
  587.                                        STC
  588.        SAL reg/mem                       Set carry
  589.        SAL reg/mem, CL
  590.          Shift arithmetic left         STD
  591.                                          Set direction
  592.        SAL reg/mem, imed8
  593.          Shift arith left, 186/286     STI
  594.                                          Set interrupt
  595.        SAR reg/mem
  596.        SAR reg/mem, CL                 STOSB
  597.          Shift arithmetic right          Store string byte
  598.  
  599.        STOSW
  600.          Store string word
  601.  
  602.        STR reg16/mem16
  603.          Store task register, 286
  604.  
  605.        SUB reg/mem, imed
  606.        SUB reg/mem, reg
  607.        SUB reg, reg/mem
  608.          Subtract
  609.  
  610.        SUBTITLE str
  611.          Set program subtitle
  612.  
  613.        SYMDUMP+
  614.          Enable symbol table
  615.  
  616.        SYMDUMP-
  617.          Disable symbol table, def
  618.  
  619.        TEST reg/mem, imed
  620.        TEST reg/mem, reg
  621.        TEST reg, reg/mem
  622.          Test
  623.  
  624.        TITLE str [,str]
  625.          Program title and subtitle
  626.  
  627.        UNUSED+
  628.          Flag unused symbols
  629.  
  630.        UNUSED-
  631.          Don't flag unused sym, def
  632.  
  633.        VERR reg16/mem16
  634.          Verify read, 286
  635.  
  636.        VERW reg16/mem16
  637.          Verify write, 286
  638.  
  639.        WAIT
  640.          Wait
  641.  
  642.        XCHG reg/mem, reg
  643.        XCHG reg, reg/mem
  644.          Exchange
  645.  
  646.        XLAT
  647.          Translate byte in AL
  648.  
  649.        XOR reg/mem, imed
  650.        XOR reg/mem, reg
  651.        XOR reg, reg/mem
  652.          Logical xor
  653.